package Day014_Lambda表达式_Stream流.dem01_Lambda表达式.demo1_Lambda方式_实现线程;

/**
 * @author zhangyan
 * @date 2020/5/5 9:16
 */

public class Test {
    public static void main(String[] args) {
        //1. 实现类方式
        //创建对象
        MyRunnable mr = new MyRunnable();
        //创建并启动线程
        Thread t1 = new Thread(mr);
        t1.start();

        //通过实现类的方式,必须创建Runnable接口的实现类对象来传递任务给线程对象
        //简化: 可以使用匿名内部类形式,不创建Runnable接口的实现类文件


        //2. 匿名内部类方式
        Thread t2 = new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println("匿名内部类形式...");
            }
        });
        t2.start();
        //还是创建了Runnable接口的实现类对象


        //3. 不创建接口的实现类对象--Lambda表达式

        new Thread(() -> System.out.println("多线程任务执行！")).start(); // 启动线程
        
        //特定情况下,简化代码,可以省略创建类,创建方法,创建对象的代码
    }
}
